home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
The World of Computer Software.iso
/
geo2pcx.zip
/
PCX2.DOC
< prev
next >
Wrap
Text File
|
1992-12-30
|
12KB
|
259 lines
Genereller PCX Fax-Treiber für PC/Geos 1.2 - Revision 2
based on a program that is (c) Geoworks
Modified by Marcus Groeber (Fido 2:2402/61.1), Sep/Oct/Nov 1992
---
Wenn Sie schon mit der früheren Version gearbeitet haben, finden Sie im
Abschnitt "Neu in dieser Version" einen Überblick über die Änderungen.
---
Bis jetzt gab es für Geoworks-Anwender nur eine Möglichkeit, um Faxe zu
verschicken: Sich eine Comple Communicator Fax/Modem/Anrufbeantworter-Karte
zuzulegen, da nur für dieses Gerät ein Treiber von Geoworks existierte
(zusammen mit einem Steuerprogramm unter Geoworks).
Andererseits gab es auch nur eine Möglichkeit, GW-Grafiken in PCX-Dateien
auszugeben, nämlich den Screen Dumper, der allerdings nur eine Seite in der
momentanen Videoauflösung kopieren kann.
Beim Durchstöbern der GW-Systemtexte fiel mir auf, daß anscheinend bereits
eine nahezu komplette Unterstützung für Faxkarten im Druckerspooler von
Geoworks existieren mußte. Entsprechend sollte es relativ einfach sein, einen
existierenden Fax-Treiber so umzustellen, daß er die Fax-Ausgabedateien in
einem anderen Format erzeugt, da er aus nicht viel mehr als einer speziellen
Bitmap-Ausgabe bestehen würde.
Ergebnis dieser Überlegungen ist eine gepatchte Version von ccom.geo (dem
Complete Communicator-Treiber), der bereits seit einiger Zeit in Mailboxem
herumschwirrt. Der neue Treiber "faxt" beliebige Geoworks-Dokumente in
PCX-Dateien, so daß sie von anderen Anwendungen weiterverarbeitet werden
können (einschließlich Faxsoftware und GW selbst).
Wie gesagt, stammt die Originalversion von ccom.geo von Geoworks, die meisten
Probleme dieser Version werden aber wohl Ergebnisse meiner Patchversuche sein
- die Änderungen sind von Geoworks weder getestet noch autorisiert worden.
Bitte beachten Sie, daß Sie dieses Programm auf eigenes Risiko verwenden, also
seien Sie bitte so vorsichtig, wie man es mit neuer Software immer sein
sollte. :-)
Installation
------------
Um den neuen Treiber zu verwenden, kopieren Sie bitte pcx2.geo ins
SYSTEM-Verzeichnis von GW und fügen Sie folgende Zeile in die GEOS.INI-Datei
ein:
[fax]
driver = pcx2.geo
PCXpath = <pfadname>
PCXcompatible = <true oder false>
Ersetzen Sie <pfadname> durch das Verzeichnis, in dem sie die PCX-Dateien
ablegen wollen (mit Laufwerk und vollem Pfadnamen). Dieses Verzeichnis sollten
sie selbst anlegen, falls es noch nicht existiert, bevor sie PCX-Dateien
erzeugen.
Die Option nach "PCXcompatible = " sollte normalerweise "false" sein, um das
neue Logbuch-Format zu aktivieren (s.u.). Falls Sie allerdings ein Programm
benutzen, das die PCX.LST-Logdatei der vorhergehenden Version dieses Treibers
einliest, muß dieser Wert "true" sein, um die Kompatiblität zu erhalten. In
diesem Fall sollten Sie auch "PCXpath" auf "c:\geoworks\system\pcx" setzen,
um die Ausgabedateien im Standardverzeichnis abzulegen.
Sollte es in der GEOS.INI bereits einen [fax]-Abschnitt geben, können Sie die
"driver="-Zeile entsprechend ändern, allerdings verlieren Sie dabei einen
evtl. bereits vorhandenen Faxtreiber. Es ist also nicht möglich, den
Pcx-Treiber zusammen mit einem Comple Communicator zu betreiben, da Geoworks
im Gegensatz zur Druckausgabe keine Selektion verschiedener Faxe ermöglicht.
Anwendung
---------
Nach der Installation sollte in allen Geoworks-Applikationen zusätzlich ein
Menüpunkt "Faxen..." im Menü "Datei" erscheinen. Wenn man ihn anwählt, öffnet
dieser Punkt eine Dialogbox, in der Sie die Nummer, an die das Fax geschickt
werden soll (ziemlich nutzlos, bis auf... siehe unten), die Ausgabequalität
und (optional) Text für ein Deckblatt wählen können.
- Hochauflösende Faxe werden mit ca. 200x200 dpi ausgegeben (d.h. wenn man
sie mit dieser Auflösung druckt/faxt, sollten sie in Originalgröße
erscheinen).
- Niedrige Auflösung verringert die vertikale Auflösung auf 100 dpi - dadurch
wird das Seitenverhältnis zu 2:1 verzerrt, d.h. das Bild wird auf den meisten
Ausgabemedien "gestaucht" erscheinen, falls es nicht von Geoworks selbst
zurückimportiert wird. Viele Faxprogramme bieten allerdings die Möglichkeit
an, auch PCX-Bilder mit dieser Auflösung zu versenden. In diesem Fall wird
das korrekte Seitenverhältnis wiederherstellt.
- Außerdem können Sie eine beliebige andere Auflösung erzeugen, indem sie
eine Pseudo-Telefonnummer in der Format "-<xdpi>,<ydpi>" angeben, wobei für
<xdpi> und <ydpi> die gewünschte Auflösung in "Punkte pro Zoll" einzusetzen
sind. Diese Option ist vor allem sinnvoll, wenn Sie Grafiken für andere
Zwecke als für die Ausgabe über ein Faxgerät erzeugen.
Sinnvollen dpi-Werte liegen etwa zwischen 18 (schlimmer als CGA :-)) und 600
(teurer Laserdrucker) für beide Achsen. Um genau die Ausgabe einer VGA-Karte
mit Ansicht 100% zu erzeugen, ist die "Telefonnummer" "-72,72" anzugeben. Das
Ergebnis sollte Pixel für Pixel mit der Videoausgabe übereinstimmen, da
Geoworks nur ein einziges "imaging model" für Bildschirm und Drucker/Fax
verwendet.
Anschließend wird das Dokument in separate PCX-Dateien für jede Seite (evtl.
einschließlich Deckblatt) ausgegeben. Alle Dateien werden in das
Unterverzeichnis ausgeben, das mit PCXpath festgelegt wuzrde, und erhalten
folgende Namen:
Name: GWxxxppp.PCX
│ │
│ └─ Seitennummer (001..999) innerhalb des Dokuments
└─ Dokumentnummer (000..999)
Zusätzlich werden die beiden folgenden Dateien in diesem Verzeichnis angelegt:
- PCX.### - diese Datei enthält nur die letzte verwendete Dokumentnummer, so
daß pcx2.geo die Dateien laufend nummerieren kann. Falls diese Datei fehlt,
beginnt die Nummererierung bei 000.
Im "Standardmodus" (d.h. "PCXcompatible = false" in der GEOS.INI):
- PCX.LOG - "Fax-Logbuch", das eine Liste aller Dokumente enthält, die von
pcx2.geo erzeugt wurden. Pro Dokument steht in dieser Datei eine Zeile im
folgenden Format [oft als "-delimited bezeichnet]:
"Dokumentnr.","Tel.nr.","Seiten","H/L","mm/dd/yy hh:mm","Deckblatt"
│ │ │ │ └─ Datum/Uhrzeit └─ T falls mit
│ │ │ │ der Ausgabe Deckplatt, F
│ │ Gesamtzahl der │ falls nicht
│ │ Dokumentseiten └─ Auflösung: H für hoch, L für niedrig,
│ │ leer, falls benutzerdef.
│ │
│ └─ Telefonnummer aus der "Fax"-Dialogbox
└─ Dokumentnummer (die ersten drei Ziffern im Dateinamen)
Sollten Sie ein eigenes Programm entwickeln, das diese Datei ausliest,
rechnen Sie bitte damit, daß in späteren Version vielleicht noch mehr Felder
am Ende der Zeile angefügt werden.
Im "Kompatiblitätsmodus" (d.h. "PCXcompatible = true" in der GEOS.INI):
- PCX.LST - in dieser Datei wird eine Liste aller gefaxten Dokumente
ausgeben (nur ihre dreistellig Nummer), zusammen mit der Telefonnummer, an
die sie geschickt werden sollen. Dieses Format ist nur noch aus
Kompatiblitätsgründen enthalten und wird in späteren Versionen nicht mehr
unterstützt [klingt wie von Microsoft, nicht wahr? :-)].
Es ist eine gute Idee, den Dateityp *.LOG über die GEOS.INI-Datei dem
Notizblock zuzuordnen, so daß man die Liste durch Doppelklicken im
Dateimanager öffnen kann. Dazu sollten sie die Zeile:
*.LOG = "FILE",0,"NPAD",0
in der Gruppe [fileManager] irgendwo zwischen die folgenden Zeilen einfügen:
filenameTokens = {
:
}
Sie können alle dise Dateien bedenkenlos löschen, wenn Sie sie nicht mehr
benötigen - pcx2.geo legt sie automatisch an, wenn es nötig ist.
CROPPCX - PCX-Dateien von weißen Rändern befreien
-------------------------------------------------
Da pcx2.geo für Geoworks ein "Faxtreiber" ist, werden alle Dokumente immer in
der Größer einer vollen Seite ausgegeben, selbst wenn nur ein kleines Stück
davon benutzt wird.
Falls die Datei gefaxt werden soll, ist dieser Effekt wünschenswert (um das
Format einer Standard-Faxseite zu erhalten). Er ist allerdings ärgerlich, wenn
die Datei in Geoworks (oder ein anderes Programm) als Bitmap importiert werden
soll, z.B. als Beispiel für einen Font, der nicht standardmäßig beim Empfänger
der Datei vorhanden ist: Der breite weiße Rand um die Datei führt dazu, daß
das Bewegen und Skalieren der Datei ziemlich mühsam ist.
Um diesem Effekt abzuhelfen, habe ich ein kleines "Bonus"-Utility namens
CROPPCX beigelegt. Es ist aber eher eine "quick-and-dirty"-Lösung, da es nur
mit einfarbigen, "single-plane" PCX-Bildern mit weißem Hintergrund
zurechtkommt. Als Ergänzung zu pcx2.geo sollte es aber ausreichen...
Der Aufruf erfolgt kurz und schmerzlos mit:
CROPPCX oldfile.pcx newfile.pcx
aus der DOS-Befehlszeile (wobei für oldfile und newfile natürlich die
korrekten Dateinamen einzusetzen sind). Dadurch wird die Datei newfile.pcx
erzeugt, die das gleiche Bild wie oldfile.pcx enthält, aber ohne unnötige
weiße Ränder.
Wird CROPPCX ohne Parameter aufgerufen, wird eine kurze Beschreibung
ausgegeben.
"Technische Anmerkungen"
------------------------
Um alle Fragen vorwegzunehmen: Nein, ich habe kein SDK, und ich habe keinerlei
spezielle Informationen über GW für die Erstellung dieses Programms verwendet,
außer denen, die ich mir selbst aus dem Programmcode zusammengesucht habe.
Mein besonderer Dank gilt Thomas Wachsmann für seine Unterstützung bei der
Analyse des Geoworks-Programmformats.
Ich habe immer noch nicht jedes Byte des Originalcodes verstanden (obwohl es
nur ca. 2 K waren), d.h. die Möglichkeit bleibt, daß ich irgendwas übersehen
habe und daß das Programm nur "zufällig" funktioniert. Bitte denken Sie daran,
daß Sie dieses Programm auf eigenes Risiko anwenden, also verlassen Sie sich
nicht zu sehr darauf, bevor Sie es auf ihrer eigenen Konfiguration getestet
haben.
CROPPCX ist im Moment nur in der Lage, Dateien mit einer Genauigkeit von 8
Pixeln in horizontaler Richtung zu beschneiden, d.h. es kann ein bis zu sieben
Punkte breiter Rand links und rechts bleiben. Vertikales "clipping" ist
pixelgenau.
Der Treiber wurde mit der Kernelversion 1.2.8.0 getestet (aktuelle Version in
Deutschland). Einige frühe Versionen von Geoworks (1.0?) sind anscheinend noch
nicht mit einer Fax-Unterstützung ausgestattet.
Neu in dieser Version
=====================
*Hinweis*: Während die erste Version dieses Treibers nur eine gepachte Version
(manche sagen: ein "hack") des originalen CCOM-Treibers war, ist diese Version
durch Disassemblieren und Neucompilieren entstanden. Sie enthält weiterhin
Teile des Originalcodes, allerdings hat sich die interne Struktur teilweise
stark geändert, so daß man dieses Programm am besten als völlig "neu"
behandelt, auch wenn sich an der äußeren Erscheinung wenig geändert hat.
- Das Verzeichnis für die PCX-Dateien kann mit dem Eintrag in der
GEOS.INI-Datei "PCXpath = pfadname" unter der Gruppe "[fax]" beliebig
gewählt werden.
- Das Format der Logbuch-Datei wurde verändert, um sie für Zusatzprogramme
leichter lesbar zu machen. Es enthält zusätzliche Informationen wie z.B.
Datum/Uhrzeit, Seitenzahl usw.
- Die Logbuch-Datei wurde in PCX.LOG umbenannt, um Probleme mit Programmen
zu vermeiden, die auf das alte Logbuchformat angewiesen sind. Wenn Sie ein
Programm verwenden, das noch die alte Logbuch-Datei PCX.LST benötigt,
sollten Sie auf jeden Fall den Eintrag "PCXcompatible = true" in der
GEOS.INI ausprobieren, falls Probleme auftauchen.
- Außer den Standardauflösungen "hoch" und "niedrig" kann über eine
Pseudo-Telefonnummer der Form "-<xdpi>,<ydpi>" jede beliebige Auflösung
erzeugt werden.
- Die dpi-Auflösung wird in der PCX-Datei eingetragen, so daß Geoworks beim
Importieren das Bild in Originalgröße anzeigen kann.
- Ein kleiner Bug wurde beseitigt, der ein paar überflüssige 69h-Bytes am
Ende der PCX-Datei angehängt hat [obwohl das eigentlich keine Probleme
bereiten sollte].